<?php
class ThuocdvsController extends AppController {

	var $name = 'Thuocdvs';
	var $helpers = array('Js','Html');
	var $components = array('RequestHandler');
        var $uses=array('Thuocdv','Znvuser','Nhanvien','User','Donvi');
	
	/**
     * Them nhieu user bang checkbox, dung o thuocdvs/nhanvien
     * */
    function adduser($id_dv) {
        $this->Nhanvien->recursive = -1;
        if(!empty($this->data)){
            foreach($this->data['Znvuser']['checked'] as $key=>$value ){
                $nhanvien = $this->Nhanvien->find('first',array(
                    'fields'=>array('Nhanvien.manv','Nhanvien.donvi_id'),
                    'conditions'=>array('Nhanvien.id'=>$value)));
        	    $this->User->create();
                $this->data['User']['nhanvien_id']=$value;
                $this->data['User']['username']=($nhanvien['Nhanvien']['manv']);
                $this->data['User']['password']=md5($nhanvien['Nhanvien']['manv']);
		  
			     if (!$this->User->save($this->data)) {
				    $this->Session->setFlash(__('Tạo tài khoản thành công', true));
 			        $this->redirect(array('controller'=>'znvusers','action' => 'index',$id_dv));
	
			     }
            }
        }else{
              $this->Session->setFlash(__('Bạn chưa chọn tài khoản nào', true));
 			  $this->redirect(array('controller'=>'znvusers','action' => 'index',$id_dv));
	        
        }
        
	}
	
	function index()
	{
		$dvc = $this->Thuocdv->find('list',array('fields'=>array('donvi')));
		$donvis = $this->Thuocdv->Donvi->find('list',array('conditions'=>array('NOT'=>array('id'=>$dvc))));
		
		$cnhanhs = $this->Thuocdv->find('list',array(
								'recursive'=>0,
								'conditions'=>array('left(Donvi.madv,2)'=>'CN'),
								'fields'=>array('Donvi.id','Donvi.tendv')));
		
		$this->set(compact('donvis','cnhanhs'));
		
		$this->Thuocdv->recursive = 0;
		$this->set('thuocdvs', $this->paginate());
	}

	function laycn()
	{
		$this->layout = 'ajax';
		$ct = $this->data['Thuocdv']['ct'];
		if(!empty($ct))
			$cnhanhs = $this->Thuocdv->find('list',array(
								'recursive'=>0,
								'conditions'=>array('donvi_id'=>$ct,'left(Donvi.madv,2)'=>'CN'),
								'fields'=>array('Donvi.id','Donvi.tendv')));
		else
			$cnhanhs = $this->Thuocdv->find('list',array(
								'recursive'=>0,
								'conditions'=>array('left(Donvi.madv,2)'=>'CN'),
								'fields'=>array('Donvi.id','Donvi.tendv')));
		$this->set('cnhanhs',$cnhanhs);
	}
	
	function laydv()
	{
		$this->layout = 'ajax';
		$ct = $this->data['Thuocdv']['ct'];
		if(isset($this->data['Thuocdv']['cn']))
			$cn = $this->data['Thuocdv']['cn'];
		else
			$cn = $this->data['cn'];
		$cond='';
		if(!empty($cn))
			$cond = $cn;
		elseif(!empty($ct))
			$cond=$ct;
		$this->Thuocdv->recursive = 0;
		if(!empty($cond))
			$this->set('thuocdvs', $this->paginate(array('donvi_id'=>$cond)));
		else
			$this->set('thuocdvs', $this->paginate());
	}
	
	function view($id = null) {
		if (!$id)
		{
			$this->Session->setFlash(__('Thông tin không tồn tại.', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('thuocdv', $this->Thuocdv->read(null, $id));
	}

	function add($dvcon=null) {
		//if(!$dvcon)
			//$this->redirect(array('controller'=>'pages','action'=>'home'));
		if (!empty($this->data)) {
			$this->Thuocdv->create();
           // $this->data['Thuocdv']['donvi']=$dvcon;
			if ($this->Thuocdv->save($this->data)) {
				$this->Session->setFlash(__('Thông tin đã được lưu.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('Thông tin không thể lưu.', true));
			}
		}
		$dvc = $this->Thuocdv->find('list',array('fields'=>array('donvi')));
		$donvis = $this->Thuocdv->Donvi->find('list',array('conditions'=>array('NOT'=>array('id'=>$dvc))));
		$d = $this->Thuocdv->Donvi->find('first',array(
                'fields'=>array('tendv'),
                'conditions'=>array('Donvi.id'=>$dvcon)));
		$this->set(compact('donvis', 'donvis','dvcon','d'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Thông tin không tồn tại.', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Thuocdv->save($this->data)) {
				$this->Session->setFlash(__('Thông tin đã được lưu.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('Thông tin không thể lưu.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Thuocdv->read(null, $id);
		}
		$donvis = $this->Thuocdv->Donvi->find('list');
		$donvis = $this->Thuocdv->Donvi->find('list');
		$this->set(compact('donvis', 'donvis'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Không tồn tại thông tin này.', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Thuocdv->delete($id)) {
			$this->Session->setFlash(__('Thông tin đã được xóa.', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Thông tin không thể xóa.', true));
		$this->redirect(array('action' => 'index'));
	}

	function tochuc()
	{
		$strquery = "select b.id_cha,b.id_con,b.tendv,a.id,a.tendv
					from donvis a left join (select cha.id as id_cha,con.id as id_con, con.tendv
									from donvis cha, donvis con, thuocdvs c
									where c.donvi_id=cha.id and c.donvi=con.id) b on a.id = b.id_con";
		$result = $this->Thuocdv->query($strquery);
		$data = array();
		$i=0;
		foreach ($result as $row)
		{
			if (is_null($row['b']['id_cha']))
				$data[] = array("id"=>$row['a']['id'],"tendv"=>$row['a']['tendv'],"id_cha"=>0);
			else
				$data[] = array("id"=>$row['b']['id_con'],"tendv"=>$row['b']['tendv'],"id_cha"=>$row['b']['id_cha']);
		}
		$this->set('donvis',$data);
	}

	function adddv()
	{
		if(!empty($this->data))
		{
			$this->Donvi->create();
			if(!$this->Donvi->save($this->data))
			{
				$this->Session->setFlash(__('Không thể lưu. Xin vui lòng thử lại',true));
			}
			else
			{
				if(!empty($this->data['Thuocdv']['donvi2']))
					$this->data['Thuocdv']['donvi_id']=$this->data['Thuocdv']['donvi2'];
				else
					$this->data['Thuocdv']['donvi_id']=$this->data['Thuocdv']['donvi1'];
				
				$this->data['Thuocdv']['donvi']=$this->Donvi->id;
				if(!$this->Thuocdv->save($this->data))
				{
					$this->Session->setFlash(__('Không thể lưu đơn vị trực thuộc. Xin vui lòng thử lại',true));
				}
				$this->redirect(array('action' => 'index'));
			}			
		}
		$dvc = $this->Thuocdv->find('list',array('fields'=>array('donvi')));
		$donvis = $this->Thuocdv->Donvi->find('list',array('conditions'=>array('NOT'=>array('id'=>$dvc))));
		$ct = key($donvis);
		$cn = $this->Thuocdv->Donvi->find('list',array('conditions'=>array('left(madv,2)'=>'CN')));
		$this->set(compact('donvis','cn'));
	}
	
	function editdv($id=null)
	{
		if (!$id && empty($this->data))
		{
			$this->Session->setFlash(__('Thông tin không tồn tại', true));
			$this->redirect(array('action' => 'index'));
		}
		if(!empty($this->data))
		{
			$this->Donvi->create();
			if(!$this->Donvi->save($this->data))
			{
				$this->Session->setFlash(__('Không thể lưu. Xin vui lòng thử lại',true));
			}
			else
			{
				if(!empty($this->data['Thuocdv']['donvi2']))
					$this->data['Thuocdv']['donvi_id']=$this->data['Thuocdv']['donvi2'];
				else
					$this->data['Thuocdv']['donvi_id']=$this->data['Thuocdv']['donvi1'];
				
				$this->data['Thuocdv']['donvi']=$this->Donvi->id;
				if(!$this->Thuocdv->save($this->data))
				{
					$this->Session->setFlash(__('Không thể lưu đơn vị trực thuộc. Xin vui lòng thử lại',true));
				}
				$this->redirect(array('action' => 'index'));
			}
		}
		if (empty($this->data))
		{
			$this->data = $this->Thuocdv->read(null, $id);
			$this->data[] = $this->Donvi->read(null, $this->data['Thuocdv']['donvi']);
		}
		$dvc = $this->Thuocdv->find('list',array('fields'=>array('donvi')));
		$donvis = $this->Thuocdv->Donvi->find('list',array('conditions'=>array('NOT'=>array('id'=>$dvc))));
		$ct = key($donvis);
		$cn = $this->Thuocdv->find('list',array(
							'recursive'=>0,
							'conditions'=>array('donvi_id'=>$ct,'left(Donvi.madv,2)'=>'CN','donvi !='=>$this->data['Thuocdv']['donvi']),
							'fields'=>array('Donvi.id','Donvi.tendv')));
		//debug($this->data);
		$this->set(compact('donvis','cn'));
	}
	
	function nhanvien($id_donvi=null)
	{
	   /*
        if(!empty($this->data)){
            foreach($this->data['Znvuser']['checked'] as $key=>$value ){
                $nhanvien = $this->Nhanvien->find('first',array(
                    'fields'=>array('Nhanvien.manv','Nhanvien.donvi_id'),
                    'conditions'=>array('Nhanvien.id'=>$value)));
        	    $this->User->create();
                $this->data['User']['nhanvien_id']=$value;
                $this->data['User']['username']=($nhanvien['Nhanvien']['manv']);
                $this->data['User']['password']=md5($nhanvien['Nhanvien']['manv']);
		  
                if (!$this->User->save($this->data)) {
				    $this->Session->setFlash(__('Tạo tài khoản thất bại', true));
 			        $this->redirect(array('controller'=>'znvusers','action' => 'index',$id_donvi));
	
			     }
            }
        } */
		$this->layout = 'ajax';
		//$id_donvi =  ($this->params['pass'][0]);
		$result=$this->Znvuser->find('all',array('conditions'=>array('donvi_id'=>$id_donvi)));
        $tendv=$this->Znvuser->query("select tendv from donvis where id=".$id_donvi);
		$this->set("dsnhanvien",$result);
        $this->set(compact('id_donvi','tendv'));
	}

}
?>